package com.hongxun.project.assets.iPole.service;

import java.util.List;
import java.util.UUID;

import com.hongxun.common.utils.bean.BeanUtils;
import com.hongxun.project.assets.iBoxes.domain.IBoxes;
import com.hongxun.project.assets.pBoxes.domain.PBoxes;
import com.hongxun.project.assets.pPole.domain.PPole;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hongxun.project.assets.iPole.mapper.IPoleMapper;
import com.hongxun.project.assets.iPole.domain.IPole;
import com.hongxun.project.assets.iPole.service.IIPoleService;
import com.hongxun.common.utils.text.Convert;

/**
 * 低压杆塔 服务层实现
 * 
 * @author hongxun
 * @date 2019-03-19
 */
@Service
public class IPoleServiceImpl implements IIPoleService 
{
	@Autowired
	private IPoleMapper iPoleMapper;

	/**
     * 查询低压杆塔信息
     * 
     * @param id 低压杆塔ID
     * @return 低压杆塔信息
     */
    @Override
	public IPole selectIPoleById(String id)
	{
	    return iPoleMapper.selectIPoleById(id);
	}
	
	/**
     * 查询低压杆塔列表
     * 
     * @param iPole 低压杆塔信息
     * @return 低压杆塔集合
     */
	@Override
	public List<IPole> selectIPoleList(IPole iPole)
	{
	    return iPoleMapper.selectIPoleList(iPole);
	}
	
    /**
     * 新增低压杆塔
     * 
     * @param iPole 低压杆塔信息
     * @return 结果
     */
	@Override
	public int insertIPole(IPole iPole)
	{
		iPole.setId(UUID.randomUUID().toString());
	    return iPoleMapper.insertIPole(iPole);
	}
	
	/**
     * 修改低压杆塔
     * 
     * @param iPole 低压杆塔信息
     * @return 结果
     */
	@Override
	public int updateIPole(IPole iPole)
	{
	    return iPoleMapper.updateIPole(iPole);
	}

	/**
     * 删除低压杆塔对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteIPoleByIds(String ids)
	{
		return iPoleMapper.deleteIPoleByIds(Convert.toStrArray(ids));
	}


	public void file(List<PPole> pPole) {
		for (PPole p : pPole) {
			if (p.getDatastate().equals("删除")) {
				deleteIPoleByIds(p.getId());
			} else {
				IPole i = new IPole();
				BeanUtils.copyBeanProp(i, p);
				if (selectIPoleById(p.getId()) != null) {
					updateIPole(i);
				} else {
					iPoleMapper.insertIPole(i);
				}
			}
		}
	}
}
